﻿using BCEntity.TMS.TransportSpecificServiceConfigOverWrite;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace BCData.TMS.TransportSpecificServiceConfigOverWrite
{
    public interface ITransportSpecificServiceConfigOverWriteData
    {
        Task<bool> DeleteAsync(long transportSpecificServiceConfigOverWriteId);
        Task<bool> DeleteByFatherIdAsync(long transportSpecificServiceConfigId);
        Task<TransportSpecificServiceConfigOverWriteEntity> GetEntityAsync(long transportSpecificServiceConfigOverWriteId);
        Task<int> GetCountAsync(int vehicleTypeId, string provinceCode, string cityCode, string countyCode, long agentRecordId, long transportSpecificServiceConfigId);
        Task<(IEnumerable<TransportSpecificServiceConfigOverWriteEntity>, int)> GetListAsync(int? vehicleTypeId, string specificServiceType, string serviceTitle, string provinceCode, string cityCode, string countyCode,long agentRecordId, int pageIndex, int pageSize);
        Task<TransportSpecificServiceConfigOverWriteEntity> InsertAsync(TransportSpecificServiceConfigOverWriteEntity entity);
        Task<TransportSpecificServiceConfigOverWriteEntity> UpdateAsync(TransportSpecificServiceConfigOverWriteEntity entity);


        Task<IEnumerable<TransportSpecificServiceConfigOverWriteEntity>> GetOnlyListAsync(int? vehicleTypeId, string specificServiceType, string serviceTitle, string provinceCode, string cityCode, string countyCode, long agentRecordId);


        Task<bool> IsUsedSpecificServiceType(string specificServiceType);
    }
}